High resolution read attempts of a Flash memory device include many read attempts that differ from by their read thresholds, wherein these read thresholds are proximate to each other. These high resolution read attempts are time consuming.
These read attempts include (a) read attempts that are solely dedicated for finding a desired read threshold, and (b) read attempts that solely dedicated for soft decoding.
The finding of the desired read threshold involves operating a Digital Signal Processor (DSP) to set the desired read threshold.
After the finding, additional read attempts are used for generating reliability-metrics for a soft decoding process.
FIG. 1 illustrates a voltage threshold distribution of a 2-bit per cell (bpc) memory device. Four lobes 10-13 slightly overlap and are read by one MSB (Most Significant Bit) threshold 18 and two LSB (Least Significant bit) thresholds denoted 17 and 19.
As indicated above—a read attempt for 2 bpc memory page may require reading a MSB page, by using a single MSB read threshold (in case there are not too many errors).
The MSB read threshold in this example for reading the MSB page bits is denoted by Xth,1 18. For reading the LSB page bits, it is required to read using two LSB read thresholds (in case there are not too many errors), which are denoted Xth,0, and Xth,2 17 and 19.
It is noted that the distribution of threshold voltages illustrated in FIG. 1 as well as any such threshold voltage distribution may change over time and due to multiple program/erase (P/E) operations.
In FIG. 1, for example, reading the MSB page bits with soft input may require sampling multiple times around threshold Xth,1 18 and to provide reliability metrics accordingly. For providing soft input to the decoder when reading the LSB page bits, it is required to perform multiple read attempts around Xth,0, 17 and Xth,2 19.
In order to perform soft sampling there is usually a DSP operation for searching the best initial read thresholds, around which the soft sampling takes place. This is required since the initial thresholds, which may be either default thresholds or some estimation based on previous read attempt, can be irrelevant. This is due to aging effects of memory cells, which result in distribution change over time and cycles. After a DSP operation for initial read thresholds estimation, a high resolution read attempt is done for providing inputs for the soft input decoder. A schematic block diagram of the described flow is provided in FIG. 2.
FIG. 2 illustrates a flash memory array 21 that is read by a DSP 22 that is arranged to perform read threshold estimation and to find a desired read threshold. After the DSP 22 determines the desired read threshold 25, a sampler 23 performs high resolution sampling of the flash memory array 21 to provide soft information. The sampler 23 is not provided with the read results obtained by the DSP 22. The sampler 23 provides soft information 26 to an Error Correction Code (ECC) decoder 24 that performs a soft decoding process to provide decoded output.
There is a need to reduce the soft read penalty.